﻿Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ComboBox1.SelectedIndex = 0
        ComboBox2.SelectedIndex = 0
        ComboBox3.SelectedIndex = 0
        ComboBox4.SelectedIndex = 0
        ComboBox6.SelectedIndex = 0
        ComboBox7.SelectedIndex = 0
        ComboBox5.SelectedIndex = 0
        ComboBox8.SelectedIndex = 0
        ComboBox9.SelectedIndex = 0
        ComboBox10.SelectedIndex = 0
        ComboBox11.SelectedIndex = 0
        ComboBox12.SelectedIndex = 0
        ComboBox13.SelectedIndex = 0
        ComboBox14.SelectedIndex = 0
        ComboBox18.SelectedIndex = 0
        Label42.Visible = False
        Label43.Visible = False
        Label44.Visible = False
        Label45.Visible = False
        Label46.Visible = False
        Label47.Visible = False
        Label48.Visible = False
        Label49.Visible = False
        Label50.Visible = False
        Label51.Visible = False
        Label52.Visible = False
        Label53.Visible = False
    End Sub
    Dim AttaccoFinaleTeorico As Integer
    Dim AttaccoFinaleEffettivo As Integer
    Dim AttaccoFinaleEffettivoPG As Integer
    Dim AttaccoFinaleEffettivoMob As Integer
    Dim DanniTerraPG
    Dim DanniTerraMob
    Dim DanniCavalloPG
    Dim DanniCavalloMob
    Dim TrafiMob As Integer
    Dim TrafiPG As Integer
    Dim CriticiMob As Integer
    Dim CriticiPG As Integer
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Label42.Visible = False
        Label43.Visible = False
        Label44.Visible = False
        Label45.Visible = False
        Label46.Visible = False
        Label47.Visible = False
        Label48.Visible = False
        Label49.Visible = False
        Label50.Visible = False
        Label51.Visible = False
        Label52.Visible = False
        Label53.Visible = False
        Button2.Enabled = True
        Dim ValueSkill = "0a0,05a0,06a0,08a0,1a0,12a0,14a0,16a0,18a0,2a0,22a0,24a0,26a0,28a0,3a0,32a0,34a0,36a0,38a0,4a0,5a0,52a0,54a0,56a0,58a0,6a0,63a0,66a0,69a0,72a0,82a0,85a0,88a0,91a0,94a0,98a1,02a1,06a1,1a1,15a1,25"
        'Calcolo Valore Arma e Crescita a seconda dell'arma scelta e dell'Up
        ComboBox15.SelectedIndex = ComboBox4.SelectedIndex
        Dim s() As String
        s = Split(ComboBox15.SelectedItem, ".")
        Dim ValoreAttaccoArmaMin As Double
        ValoreAttaccoArmaMin = s(NumericUpDown1.Value)
        Dim Crescita As Double
        Dim AtkBaseMin = s(0)
        Crescita = ValoreAttaccoArmaMin - AtkBaseMin
        ComboBox16.SelectedIndex = ComboBox4.SelectedIndex
        Dim s2() As String
        s2 = Split(ComboBox16.SelectedItem, ".")
        Dim ValoreAttaccoArmaMax As Double
        ValoreAttaccoArmaMax = s2(NumericUpDown1.Value)
        Dim AtkBaseMax = s2(0)

        'Calcolo Valori utilizzati nelle formule
        'STAT
        Dim STAT As Double
        If ComboBox1.Text = "Guerriero" Or ComboBox1.Text = "Sura" Then
            STAT = STR.Text
        End If
        If ComboBox1.Text = "Ninja" Then
            STAT = DEX.Text
        End If
        If ComboBox1.Text = "Shamana" Then
            STAT = INTE.Text
        End If
        'BONUS VAL ATK DOVUTI DAL BIOLOGO
        Dim BONUSTEO As Double = 0
        If ComboBox10.Text = "SI" Then
            BONUSTEO = BONUSTEO + 50
        End If
        If ComboBox13.Text = "SI" Then
            BONUSTEO = BONUSTEO + 51
        End If
        If ComboBox14.Text = "SI" Then
            BONUSTEO = BONUSTEO + 60
        End If

        'Metto in pratica le formule di Mystikal e Son Gohan
        'Attacco Base Teorico
        Dim AttaccoBaseTeoricoMin As Double
        Dim AttaccoBaseTeoricoMax As Double
        AttaccoBaseTeoricoMin = Int(2 * LIV.Text + (70 + Int(2 * DEX.Text + LIV.Text) / 9) / 75 * ((STR.Text + ValoreAttaccoArmaMin) + (ValoreAttaccoArmaMin + STAT) / 2) + BONUSTEO)
        AttaccoBaseTeoricoMax = Int(2 * LIV.Text + (70 + Int(2 * DEX.Text + LIV.Text) / 9) / 75 * ((STR.Text + ValoreAttaccoArmaMax) + (ValoreAttaccoArmaMax + STAT) / 2) + BONUSTEO)
        If Confronto = False Then
            AttaccoFinaleTeorico = AttaccoBaseTeoricoMax
            Label30.Text = "Attacco Finale Base Teorico: " & AttaccoBaseTeoricoMin & " - " & AttaccoBaseTeoricoMax
        End If
        'Attacco Base Effettivo
        Dim AttaccoBaseEffettivoMin As Double
        Dim AttaccoBaseEffettivoMax As Double
        AttaccoBaseEffettivoMin = Int(2 * (LIV.Text + Crescita) + (70 + Int(2 * DEX.Text - 0.6 * LIV.Text) / 9) / 75 * (STR.Text + (3 * AtkBaseMin + STAT) / 2) + BONUSTEO)
        AttaccoBaseEffettivoMax = Int(2 * (LIV.Text + Crescita) + (70 + Int(2 * DEX.Text - 0.6 * LIV.Text) / 9) / 75 * (STR.Text + (3 * AtkBaseMax + STAT) / 2) + BONUSTEO)
        If Confronto = False Then
            Label31.Text = "Attacco Finale Base Effettivo: " & AttaccoBaseEffettivoMin & " - " & AttaccoBaseEffettivoMax
            AttaccoFinaleEffettivo = AttaccoBaseEffettivoMax
        End If
        'Attacco Finale Effettivo (vs PG)
        Dim Bonus As Double = 0
        Dim s3 = Split(ValueSkill, "a")
        If ComboBox1.Text = "Guerriero" Then
            Dim BonusAura = s3(ComboBox2.SelectedIndex)
            Bonus = Int((100 + LIV.Text * 3 + STR.Text) * BonusAura)
        End If
        If ComboBox1.Text = "Sura" Then
            Dim BonusLama = s3(ComboBox2.SelectedIndex)
            Bonus = Int((3 * LIV.Text + 2 * INTE.Text) * BonusLama)
        End If
        If ComboBox1.Text = "Shamana" Then
            Dim BonusAttacco = s3(ComboBox2.SelectedIndex)
            Bonus = Int(5 + (15 + INTE.Text / 5) * BonusAttacco)
        End If
        Dim BonusTipo1 As Double
        Dim BonusTipo2 As Double
        Dim BonusTipo3 As Double
        Dim BonusEstasiNemica As Double = s3(ComboBox7.SelectedIndex)
        Dim BonusProtezNemica As Double
        Dim BonusTavole As Double
        Dim BonusNotizie As Double
        Dim BenedizioneNemica As Double = s3(ComboBox6.SelectedIndex)
        Dim PauraNemica As Double = s3(ComboBox5.SelectedIndex)
        Dim BonusBeneNemica As Double
        If ComboBox6.Text = "0" Then
            BonusBeneNemica = 0
        Else
            BonusBeneNemica = (TextBox11.Text * 0.3 + 5) * (4 * BenedizioneNemica + 1) / (2 * BenedizioneNemica + 3)
        End If
        Dim BonusPauraNemica As Double
        If ComboBox5.Text = "0" Then
            BonusPauraNemica = 0
        Else
            BonusPauraNemica = 1 + 29 * PauraNemica
        End If
        BonusTipo2 = (1 - ((1 / 100) * TextBox14.Text)) * (1 + (50 * BonusEstasiNemica / 2) / 100) * (1 - BonusBeneNemica / 100) * (1 - BonusPauraNemica / 100)
        If ComboBox8.Text = "NO" Then
            BonusProtezNemica = 0
        ElseIf ComboBox8.Text = "SI" Then
            BonusProtezNemica = 0.33
        End If
        If ComboBox11.Text = "NO" Then
            BonusTavole = 0
        ElseIf ComboBox11.Text = "SI" Then
            BonusTavole = 0.1
        End If
        If ComboBox12.Text = "N0" Then
            BonusNotizie = 0
        ElseIf ComboBox12.Text = "SI" Then
            BonusNotizie = 0.1
        End If
        BonusTipo3 = (1 + (1 / 100) * TextBox16.Text) * (1 - BonusProtezNemica) * (1 + BonusTavole) * (1 + BonusNotizie)
        BonusTipo1 = (1 + 0.01 * TextBox10.Text) * (1 + 0.01 * TextBox9.Text)
        Dim AttaccoFinaleEffettivoMin As Double
        Dim AttaccoFinaleEffettivoMax As Double
        If Confronto = False Then
            AttaccoFinaleEffettivoMin = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2) * BonusTipo3))
            AttaccoFinaleEffettivoMax = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2) * BonusTipo3))
            Label32.Text = "Attacco Finale Effettivo con bonus (vs PG): " & AttaccoFinaleEffettivoMin & " - " & AttaccoFinaleEffettivoMax
            AttaccoFinaleEffettivoPG = AttaccoFinaleEffettivoMax
        End If
        'Attacco Finale Effettivo (vs Mob)
        Dim AttaccoFinaleEffettivoMin2 As Double
        Dim AttaccoFinaleEffettivoMax2 As Double
        Dim BonusTipo1Mob As Double
        Dim BonusTipo3Mob As Double
        BonusTipo3Mob = (1 + (1 / 100) * TextBox16.Text) * (1 + BonusTavole)
        BonusTipo1Mob = (1 + 0.01 * TextBox8.Text) * (1 + 0.01 * TextBox7.Text)
        If Confronto = False Then
            AttaccoFinaleEffettivoMin2 = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2) * BonusTipo3Mob))
            AttaccoFinaleEffettivoMax2 = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2) * BonusTipo3Mob))
            Label33.Text = "Attacco Finale Effettivo con bonus (vs Mob): " & AttaccoFinaleEffettivoMin2 & " - " & AttaccoFinaleEffettivoMax2
            AttaccoFinaleEffettivoMob = AttaccoFinaleEffettivoMax2
        End If
        'Media di danni al secondo a piedi
        Dim BonusVelTavole As Double
        Dim BonusVelLibri As Double
        Dim BonusEstasi As Double
        If ComboBox1.SelectedItem = "Guerriero" Then
            BonusEstasi = s3(ComboBox3.SelectedIndex)
        Else
            BonusEstasi = 0
        End If
        ComboBox17.SelectedIndex = ComboBox4.SelectedIndex
        Dim s4() As String
        s4 = Split(ComboBox17.SelectedItem, ".")
        If ComboBox11.Text = "NO" Then
            BonusVelTavole = 0
        ElseIf ComboBox11.Text = "SI" Then
            BonusVelTavole = 6
        End If
        If ComboBox9.Text = "N0" Then
            BonusVelLibri = 0
        ElseIf ComboBox9.Text = "SI" Then
            BonusVelLibri = 5
        End If
        Dim VelocitaAttaccoArma As Double = s4(NumericUpDown1.Value)
        Dim VelocitaAttacco As Double = 100 + VelocitaAttaccoArma + TextBox5.Text + BonusVelLibri + BonusVelTavole + (BonusEstasi * 50)
        If VelocitaAttacco < 171 Then
            Dim VelAtkEffettiva As Double
            If ComboBox4.SelectedIndex < 19 Then
                VelAtkEffettiva = 0.009 * VelocitaAttacco + 0.1
            End If
            If ComboBox4.SelectedIndex > 18 And ComboBox4.SelectedIndex < 46 Then
                VelAtkEffettiva = 0.014 * VelocitaAttacco
            End If
            If ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66 And ComboBox18.SelectedItem = "M" Then
                VelAtkEffettiva = 0.006 * VelocitaAttacco
            End If
            If ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66 And ComboBox18.SelectedItem = "F" Then
                VelAtkEffettiva = 0.009 * VelocitaAttacco
            End If
            If ComboBox4.SelectedIndex > 65 And ComboBox4.SelectedIndex < 86 Then
                VelAtkEffettiva = 0.021 * VelocitaAttacco
            End If
            If ComboBox4.SelectedIndex > 85 Then
                VelAtkEffettiva = 0.014 * VelocitaAttacco
            End If
            If VelocitaAttacco > 141 And ComboBox4.SelectedIndex > 84 And ComboBox4.SelectedIndex < 105 Then
                If Confronto = False Then
                    Label34.Text = "Media di danni al secondo a piedi (vs PG): IGNOTA"
                    Label35.Text = "Media di danni al secondo a piedi (vs Mob): IGNOTA"
                    DanniTerraPG = 0
                    DanniTerraMob = 0
                End If
            Else
                If VelocitaAttacco > 150 And ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66 Then
                    If Confronto = False Then
                        Label34.Text = "Media di danni al secondo a piedi (vs PG): IGNOTA"
                        Label35.Text = "Media di danni al secondo a piedi (vs Mob): IGNOTA"
                        DanniTerraPG = 0
                        DanniTerraMob = 0
                    End If
                Else
                    If Confronto = False Then
                        Label34.Text = "Media di danni al secondo a piedi (vs PG): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2))
                        Label35.Text = "Media di danni al secondo a piedi (vs Mob): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2))
                        DanniTerraPG = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2))
                        DanniTerraMob = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2))
                    End If
                    End If
                End If
        Else
            If Confronto = False Then
                Label34.Text = "Media di danni al secondo a piedi (vs PG): IGNOTA"
                Label35.Text = "Media di danni al secondo a piedi (vs Mob): IGNOTA"
                DanniTerraPG = 0
                DanniTerraMob = 0
            End If
            End If
            'Media di danni al secondo da cavallo
            If (ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66) Or (ComboBox4.SelectedIndex > 84 And ComboBox4.SelectedIndex < 105) Then
            If Confronto = False Then
                Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA"
                Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA"
                DanniCavalloPG = "0"
                DanniCavalloMob = "0"
            End If
        Else
            If VelocitaAttacco < 171 Then
                Dim VelAtkEffettiva As Double
                If ComboBox4.SelectedIndex < 19 Then
                    VelAtkEffettiva = 0.0175 * VelocitaAttacco + 0.2
                End If
                If ComboBox4.SelectedIndex > 18 And ComboBox4.SelectedIndex < 46 Then
                    VelAtkEffettiva = 0.018 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 65 And ComboBox4.SelectedIndex < 86 Then
                    VelAtkEffettiva = 0.018 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 85 Then
                    If VelocitaAttacco < 145 Then
                        VelAtkEffettiva = 0.0215 * VelocitaAttacco
                    Else
                        VelAtkEffettiva = 0.0077 * VelocitaAttacco + 0.5
                    End If
                End If
                If ComboBox4.SelectedIndex > 85 And VelocitaAttacco > 144 And VelocitaAttacco < 155 Then
                    If Confronto = False Then
                        Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA"
                        Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA"
                        DanniCavalloPG = "0"
                        DanniCavalloMob = "0"
                    End If
                Else
                    If (ComboBox1.SelectedItem = "Sura" Or ComboBox1.SelectedItem = "Ninja") And VelocitaAttacco > 164 Then
                        If Confronto = False Then
                            Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA"
                            Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA"
                            DanniCavalloPG = "0"
                            DanniCavalloMob = "0"
                        End If
                    Else
                        If Confronto = False Then
                            Label37.Text = "Media di danni al secondo a cavallo (vs PG): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2))
                            Label36.Text = "Media di danni al secondo a cavallo (vs Mob): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2))
                            DanniCavalloPG = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2))
                            DanniCavalloMob = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2))
                        End If
                        End If
                    End If
            Else
                If Confronto = False Then
                    Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA"
                    Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA"
                    DanniCavalloPG = "0"
                    DanniCavalloMob = "0"
                End If
                End If
        End If
        'Danno Trafiggente
        Dim TrafiggenteMobMin As Double
        Dim TrafiggenteMobMax As Double
        If Confronto = False Then
            TrafiggenteMobMin = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3Mob))
            TrafiggenteMobMax = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3Mob))
            Label38.Text = "Danno Trafiggente (vs Mob): " & TrafiggenteMobMin & " - " & TrafiggenteMobMax
            TrafiMob = TrafiggenteMobMax
        End If
        Dim TrafiggentePGMin As Double
        Dim TrafiggentePGMax As Double
        If Confronto = False Then
            TrafiggentePGMin = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3))
            TrafiggentePGMax = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3))
            Label39.Text = "Danno Trafiggente (vs PG): " & TrafiggentePGMin & " - " & TrafiggentePGMax
            TrafiPG = TrafiggentePGMax
        End If
        'Danno Critico
        If Confronto = False Then
            Label40.Text = "Danno Critico (vs PG): " & (AttaccoFinaleEffettivoMin * 2) & " - " & (AttaccoFinaleEffettivoMax * 2)
            Label41.Text = "Danno Critico (vs Mob): " & (AttaccoFinaleEffettivoMin2 * 2) & " - " & (AttaccoFinaleEffettivoMax2 * 2)
            CriticiMob = AttaccoFinaleEffettivoMax2 * 2
            CriticiPG = AttaccoFinaleEffettivoMax * 2
        End If
    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        If ComboBox1.SelectedItem = "Guerriero" Then
            Label7.Text = "Aura della Spada"
            Label7.Location = New Point(92, 187)
            Label8.Text = "Lv Estasi"
            ComboBox2.Visible = True
            ComboBox3.Visible = True
            ComboBox4.SelectedIndex = 0
        End If
        If ComboBox1.SelectedItem = "Ninja" Then
            Label7.Text = ""
            Label8.Text = ""
            ComboBox2.Visible = False
            ComboBox3.Visible = False
            ComboBox4.SelectedIndex = 0
        End If
        If ComboBox1.SelectedItem = "Shamana" Then
            Label7.Text = "Attacco+"
            Label7.Location = New Point(127, 187)
            Label8.Text = ""
            ComboBox2.Visible = True
            ComboBox3.Visible = False
            ComboBox4.SelectedIndex = 86
        End If
        If ComboBox1.SelectedItem = "Sura" Then
            Label7.Text = "Lama Magica"
            Label7.Location = New Point(106, 187)
            Label8.Text = ""
            ComboBox2.Visible = True
            ComboBox3.Visible = False
            ComboBox4.SelectedIndex = 0
        End If

    End Sub

    Private Sub ComboBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox10.TextChanged
        If ComboBox10.SelectedItem = "SI" Then
            ComboBox10.BackColor = Color.FromArgb(255, 192, 255, 192)
        Else
            ComboBox10.BackColor = Color.FromArgb(255, 255, 192, 192)
        End If
    End Sub

    Private Sub ComboBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox11.TextChanged
        If ComboBox11.SelectedItem = "SI" Then
            ComboBox11.BackColor = Color.FromArgb(255, 192, 255, 192)
        Else
            ComboBox11.BackColor = Color.FromArgb(255, 255, 192, 192)
        End If
    End Sub

    Private Sub ComboBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox12.TextChanged
        If ComboBox12.SelectedItem = "SI" Then
            ComboBox12.BackColor = Color.FromArgb(255, 192, 255, 192)
        Else
            ComboBox12.BackColor = Color.FromArgb(255, 255, 192, 192)
        End If
    End Sub

    Private Sub ComboBox13_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox13.TextChanged
        If ComboBox13.SelectedItem = "SI" Then
            ComboBox13.BackColor = Color.FromArgb(255, 192, 255, 192)
        Else
            ComboBox13.BackColor = Color.FromArgb(255, 255, 192, 192)
        End If
    End Sub

    Private Sub ComboBox14_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox14.TextChanged
        If ComboBox14.SelectedItem = "SI" Then
            ComboBox14.BackColor = Color.FromArgb(255, 192, 255, 192)
        Else
            ComboBox14.BackColor = Color.FromArgb(255, 255, 192, 192)
        End If
    End Sub

    Private Sub ComboBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox8.TextChanged
        If ComboBox8.SelectedItem = "SI" Then
            ComboBox8.BackColor = Color.FromArgb(255, 192, 255, 192)
        Else
            ComboBox8.BackColor = Color.FromArgb(255, 255, 192, 192)
        End If
    End Sub

    Private Sub Label6_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label6.MouseHover
        Dim Info As New ToolTip
        Info.SetToolTip(Label6, "Inserire solo i bonus dovuti a pezzi dell'equip o pozioni, ad eccezione dell'arma (non inserire le missioni del biologo).")
    End Sub

    Private Sub Label30_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label30.MouseHover
        Dim Info As New ToolTip
        Info.SetToolTip(Label30, "Attacco finale di base (quello segnato sulla Finestra PG).")
    End Sub

    Private Sub Label34_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label34.MouseHover
        Dim Info As New ToolTip
        Info.SetToolTip(Label34, "I danni effettivi causati dall'arma, tenendo conto della velocità d'attacco (valido fino a 170 Velocità d'Attacco).")
    End Sub

    Private Sub Label35_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label35.MouseHover
        Dim Info As New ToolTip
        Info.SetToolTip(Label35, "I danni effettivi causati dall'arma, tenendo conto della velocità d'attacco (valido fino a 170 Velocità d'Attacco).")
    End Sub

    Private Sub Label37_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label37.MouseHover
        Dim Info As New ToolTip
        Info.SetToolTip(Label37, "I danni effettivi causati dall'arma, tenendo conto della velocità d'attacco (valido fino a 170 Velocità d'Attacco).")
    End Sub

    Private Sub Label36_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label36.MouseHover
        Dim Info As New ToolTip
        Info.SetToolTip(Label36, "I danni effettivi causati dall'arma, tenendo conto della velocità d'attacco (valido fino a 170 Velocità d'Attacco).")
    End Sub

    Private Sub Label18_MouseHover(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label18.MouseHover
        Dim Info As New ToolTip
        Info.SetToolTip(Label18, "Difesa Spada, Spadone, Ecc. (Non Resistenza Magia!)")
    End Sub

    Private Sub TextBox5_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox5.TextChanged
        If IsNumeric(TextBox5.Text) = False Then
            TextBox5.Text = "0"
        ElseIf TextBox5.Text < 0 Then
            TextBox5.Text = "0"
        End If
    End Sub

    Private Sub LIV_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LIV.TextChanged
        If IsNumeric(LIV.Text) = False Then
            TextBox5.Text = "1"
        ElseIf LIV.Text < 1 Or LIV.Text > 105 Then
            TextBox5.Text = "1"
        End If
    End Sub

    Private Sub INTE_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles INTE.TextChanged
        If IsNumeric(INTE.Text) = False Then
            INTE.Text = "1"
        ElseIf TextBox5.Text < 1 Then
            INTE.Text = "1"
        End If
    End Sub

    Private Sub STR_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles STR.TextChanged
        If IsNumeric(STR.Text) = False Then
            STR.Text = "1"
        ElseIf STR.Text < 1 Then
            STR.Text = "1"
        End If
    End Sub

    Private Sub DEX_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DEX.TextChanged
        If IsNumeric(DEX.Text) = False Then
            DEX.Text = "1"
        ElseIf DEX.Text < 1 Then
            DEX.Text = "1"
        End If
    End Sub

    Private Sub TextBox7_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox7.TextChanged
        If IsNumeric(TextBox7.Text) = False Then
            TextBox7.Text = "0"
        ElseIf TextBox7.Text < 0 Then
            TextBox7.Text = "0"
        End If
    End Sub

    Private Sub TextBox8_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox8.TextChanged
        If IsNumeric(TextBox8.Text) = False Then
            TextBox8.Text = "0"
        ElseIf TextBox8.Text < 0 Then
            TextBox8.Text = "0"
        End If
    End Sub

    Private Sub TextBox9_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox9.TextChanged
        If IsNumeric(TextBox9.Text) = False Then
            TextBox9.Text = "0"
        ElseIf TextBox9.Text < 0 Then
            TextBox9.Text = "0"
        End If
    End Sub

    Private Sub TextBox10_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox10.TextChanged
        If IsNumeric(TextBox10.Text) = False Then
            TextBox10.Text = "0"
        ElseIf TextBox10.Text < 0 Then
            TextBox10.Text = "0"
        End If
    End Sub

    Private Sub TextBox14_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox14.TextChanged
        If IsNumeric(TextBox14.Text) = False Then
            TextBox14.Text = "0"
        ElseIf TextBox14.Text < 0 Then
            TextBox14.Text = "0"
        End If
    End Sub

    Private Sub TextBox11_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox11.TextChanged
        If IsNumeric(TextBox11.Text) = False Then
            TextBox11.Text = "0"
        ElseIf TextBox11.Text < 0 Then
            TextBox11.Text = "0"
        End If
    End Sub

    Private Sub TextBox13_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox13.TextChanged
        If IsNumeric(TextBox13.Text) = False Then
            TextBox13.Text = "0"
        ElseIf TextBox13.Text < 0 Then
            TextBox13.Text = "0"
        End If
    End Sub

    Private Sub TextBox12_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox12.TextChanged
        If IsNumeric(TextBox12.Text) = False Then
            TextBox12.Text = "0"
        ElseIf TextBox12.Text < 0 Then
            TextBox12.Text = "0"
        End If
    End Sub

    Private Sub ComboBox9_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox9.TextChanged
        If ComboBox9.Text = "SI" Then
            ComboBox9.BackColor = Color.FromArgb(255, 192, 255, 192)
        Else
            ComboBox9.BackColor = Color.FromArgb(255, 255, 192, 192)
        End If
    End Sub

    Private Sub ComboBox4_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox4.SelectedIndexChanged
        If ComboBox1.SelectedIndex = 0 Then
            If ComboBox4.SelectedIndex > 38 Then
                MsgBox("Arma non equipaggiabile dalla razza selezionata!", MsgBoxStyle.Critical)
                ComboBox4.SelectedIndex = 0
            End If
        End If
        If ComboBox1.SelectedIndex = 1 Then
            If ComboBox4.SelectedIndex > 45 Then
                MsgBox("Arma non equipaggiabile dalla razza selezionata!", MsgBoxStyle.Critical)
                ComboBox4.SelectedIndex = 0
            End If
        End If
        If ComboBox1.SelectedIndex = 2 Then
            If (ComboBox4.SelectedIndex > 38 And ComboBox4.SelectedIndex < 46) Or (ComboBox4.SelectedIndex > 85) Then
                MsgBox("Arma non equipaggiabile dalla razza selezionata!", MsgBoxStyle.Critical)
                ComboBox4.SelectedIndex = 0
            End If
        End If
        If ComboBox1.SelectedIndex = 3 Then
            If ComboBox4.SelectedIndex < 86 Then
                MsgBox("Arma non equipaggiabile dalla razza selezionata!", MsgBoxStyle.Critical)
                ComboBox4.SelectedIndex = 86
            End If
        End If
    End Sub
    Dim Confronto = False
    Dim DanniCavalloPG2 As String = "BOH"
    Dim DanniCavalloMob2 As String = "BOH"
    Dim DanniTerraPG2 As String = "BOH"
    Dim DanniTerraMob2 As String = "BOH"
    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If Confronto = False Then
            Button2.Text = "Confronta con questo settaggio"
            Confronto = True
            Button1.Enabled = False
        Else
            Label42.Visible = True
            Label43.Visible = True
            Label44.Visible = True
            Label45.Visible = True
            Label46.Visible = True
            Label47.Visible = True
            Label48.Visible = True
            Label49.Visible = True
            Label50.Visible = True
            Label51.Visible = True
            Label52.Visible = True
            Label53.Visible = True
            If DanniCavalloPG = 0 Then
                DanniCavalloPG2 = "IGNOTA"
                Label46.Text = "IGNOTO"
                Label46.ForeColor = Color.Red
            Else
                DanniCavalloPG2 = DanniCavalloPG
            End If
            If DanniCavalloMob = 0 Then
                DanniCavalloMob2 = "IGNOTA"
                Label47.Text = "IGNOTO"
                Label47.ForeColor = Color.Red
            Else
                DanniCavalloMob2 = DanniCavalloMob
            End If
            If DanniTerraPG = 0 Then
                DanniTerraPG2 = "IGNOTA"
                Label48.Text = "IGNOTO"
                Label48.ForeColor = Color.Red
            Else
                DanniTerraPG2 = DanniTerraPG
            End If
            If DanniTerraMob = 0 Then
                DanniTerraMob2 = "IGNOTA"
                Label49.Text = "IGNOTO"
                Label49.ForeColor = Color.Red
            Else
                DanniTerraMob2 = DanniTerraMob
            End If
            Dim ValueSkill = "0a0,05a0,06a0,08a0,1a0,12a0,14a0,16a0,18a0,2a0,22a0,24a0,26a0,28a0,3a0,32a0,34a0,36a0,38a0,4a0,5a0,52a0,54a0,56a0,58a0,6a0,63a0,66a0,69a0,72a0,82a0,85a0,88a0,91a0,94a0,98a1,02a1,06a1,1a1,15a1,25"
            'Calcolo Valore Arma e Crescita a seconda dell'arma scelta e dell'Up
            ComboBox15.SelectedIndex = ComboBox4.SelectedIndex
            Dim s() As String
            s = Split(ComboBox15.SelectedItem, ".")
            Dim ValoreAttaccoArmaMin As Double
            ValoreAttaccoArmaMin = s(NumericUpDown1.Value)
            Dim Crescita As Double
            Dim AtkBaseMin = s(0)
            Crescita = ValoreAttaccoArmaMin - AtkBaseMin
            ComboBox16.SelectedIndex = ComboBox4.SelectedIndex
            Dim s2() As String
            s2 = Split(ComboBox16.SelectedItem, ".")
            Dim ValoreAttaccoArmaMax As Double
            ValoreAttaccoArmaMax = s2(NumericUpDown1.Value)
            Dim AtkBaseMax = s2(0)

            'Calcolo Valori utilizzati nelle formule
            'STAT
            Dim STAT As Double
            If ComboBox1.Text = "Guerriero" Or ComboBox1.Text = "Sura" Then
                STAT = STR.Text
            End If
            If ComboBox1.Text = "Ninja" Then
                STAT = DEX.Text
            End If
            If ComboBox1.Text = "Shamana" Then
                STAT = INTE.Text
            End If
            'BONUS VAL ATK DOVUTI DAL BIOLOGO
            Dim BONUSTEO As Double = 0
            If ComboBox10.Text = "SI" Then
                BONUSTEO = BONUSTEO + 50
            End If
            If ComboBox13.Text = "SI" Then
                BONUSTEO = BONUSTEO + 51
            End If
            If ComboBox14.Text = "SI" Then
                BONUSTEO = BONUSTEO + 60
            End If

            'Metto in pratica le formule di Mystikal e Son Gohan
            'Attacco Base Teorico
            Dim AttaccoBaseTeoricoMin As Double
            Dim AttaccoBaseTeoricoMax As Double
            AttaccoBaseTeoricoMin = Int(2 * LIV.Text + (70 + Int(2 * DEX.Text + LIV.Text) / 9) / 75 * ((STR.Text + ValoreAttaccoArmaMin) + (ValoreAttaccoArmaMin + STAT) / 2) + BONUSTEO)
            AttaccoBaseTeoricoMax = Int(2 * LIV.Text + (70 + Int(2 * DEX.Text + LIV.Text) / 9) / 75 * ((STR.Text + ValoreAttaccoArmaMax) + (ValoreAttaccoArmaMax + STAT) / 2) + BONUSTEO)
            Label30.Text = "Attacco Finale Base Teorico: " & AttaccoBaseTeoricoMin & " - " & AttaccoBaseTeoricoMax & " (" & AttaccoFinaleTeorico & ")"
            If AttaccoBaseTeoricoMax = AttaccoFinaleTeorico Then
                Label42.Text = "Pari"
                Label42.ForeColor = Color.Magenta
            End If
            If AttaccoBaseTeoricoMax > AttaccoFinaleTeorico Then
                Label42.Text = "Set #2"
                Label42.ForeColor = Color.Blue
            End If
            If AttaccoBaseTeoricoMax < AttaccoFinaleTeorico Then
                Label42.Text = "Set #1"
                Label42.ForeColor = Color.Green
            End If
            'Attacco Base Effettivo
            Dim AttaccoBaseEffettivoMin As Double
            Dim AttaccoBaseEffettivoMax As Double
            AttaccoBaseEffettivoMin = Int(2 * (LIV.Text + Crescita) + (70 + Int(2 * DEX.Text - 0.6 * LIV.Text) / 9) / 75 * (STR.Text + (3 * AtkBaseMin + STAT) / 2) + BONUSTEO)
            AttaccoBaseEffettivoMax = Int(2 * (LIV.Text + Crescita) + (70 + Int(2 * DEX.Text - 0.6 * LIV.Text) / 9) / 75 * (STR.Text + (3 * AtkBaseMax + STAT) / 2) + BONUSTEO)
            Label31.Text = "Attacco Finale Base Effettivo: " & AttaccoBaseEffettivoMin & " - " & AttaccoBaseEffettivoMax & " (" & AttaccoFinaleEffettivo & ")"
            If AttaccoBaseEffettivoMax = AttaccoFinaleEffettivo Then
                Label43.Text = "Pari"
                Label43.ForeColor = Color.Magenta
            End If
            If AttaccoBaseEffettivoMax > AttaccoFinaleEffettivo Then
                Label43.Text = "Set #2"
                Label43.ForeColor = Color.Blue
            End If
            If AttaccoBaseEffettivoMax < AttaccoFinaleEffettivo Then
                Label43.Text = "Set #1"
                Label43.ForeColor = Color.Green
            End If
            'Attacco Finale Effettivo (vs PG)
            Dim Bonus As Double = 0
            Dim s3 = Split(ValueSkill, "a")
            If ComboBox1.Text = "Guerriero" Then
                Dim BonusAura = s3(ComboBox2.SelectedIndex)
                Bonus = Int((100 + LIV.Text * 3 + STR.Text) * BonusAura)
            End If
            If ComboBox1.Text = "Sura" Then
                Dim BonusLama = s3(ComboBox2.SelectedIndex)
                Bonus = Int((3 * LIV.Text + 2 * INTE.Text) * BonusLama)
            End If
            If ComboBox1.Text = "Shamana" Then
                Dim BonusAttacco = s3(ComboBox2.SelectedIndex)
                Bonus = Int(5 + (15 + INTE.Text / 5) * BonusAttacco)
            End If
            Dim BonusTipo1 As Double
            Dim BonusTipo2 As Double
            Dim BonusTipo3 As Double
            Dim BonusEstasiNemica As Double = s3(ComboBox7.SelectedIndex)
            Dim BonusProtezNemica As Double
            Dim BonusTavole As Double
            Dim BonusNotizie As Double
            Dim BenedizioneNemica As Double = s3(ComboBox6.SelectedIndex)
            Dim PauraNemica As Double = s3(ComboBox5.SelectedIndex)
            Dim BonusBeneNemica As Double
            If ComboBox6.Text = "0" Then
                BonusBeneNemica = 0
            Else
                BonusBeneNemica = (TextBox11.Text * 0.3 + 5) * (4 * BenedizioneNemica + 1) / (2 * BenedizioneNemica + 3)
            End If
            Dim BonusPauraNemica As Double
            If ComboBox5.Text = "0" Then
                BonusPauraNemica = 0
            Else
                BonusPauraNemica = 1 + 29 * PauraNemica
            End If
            BonusTipo2 = (1 - ((1 / 100) * TextBox14.Text)) * (1 + (50 * BonusEstasiNemica / 2) / 100) * (1 - BonusBeneNemica / 100) * (1 - BonusPauraNemica / 100)
            If ComboBox8.Text = "NO" Then
                BonusProtezNemica = 0
            ElseIf ComboBox8.Text = "SI" Then
                BonusProtezNemica = 0.33
            End If
            If ComboBox11.Text = "NO" Then
                BonusTavole = 0
            ElseIf ComboBox11.Text = "SI" Then
                BonusTavole = 0.1
            End If
            If ComboBox12.Text = "N0" Then
                BonusNotizie = 0
            ElseIf ComboBox12.Text = "SI" Then
                BonusNotizie = 0.1
            End If
            BonusTipo3 = (1 + (1 / 100) * TextBox16.Text) * (1 - BonusProtezNemica) * (1 + BonusTavole) * (1 + BonusNotizie)
            BonusTipo1 = (1 + 0.01 * TextBox10.Text) * (1 + 0.01 * TextBox9.Text)
            Dim AttaccoFinaleEffettivoMin As Double
            Dim AttaccoFinaleEffettivoMax As Double
            AttaccoFinaleEffettivoMin = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2) * BonusTipo3))
            AttaccoFinaleEffettivoMax = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2) * BonusTipo3))
            Label32.Text = "Attacco Finale Effettivo con bonus (vs PG): " & AttaccoFinaleEffettivoMin & " - " & AttaccoFinaleEffettivoMax & " (" & AttaccoFinaleEffettivoPG & ")"
            If AttaccoFinaleEffettivoMax = AttaccoFinaleEffettivoPG Then
                Label44.Text = "Pari"
                Label44.ForeColor = Color.Magenta
            End If
            If AttaccoFinaleEffettivoMax > AttaccoFinaleEffettivoPG Then
                Label44.Text = "Set #2"
                Label44.ForeColor = Color.Blue
            End If
            If AttaccoFinaleEffettivoMax < AttaccoFinaleEffettivoPG Then
                Label44.Text = "Set #1"
                Label44.ForeColor = Color.Green
            End If
            'Attacco Finale Effettivo (vs Mob)
            Dim AttaccoFinaleEffettivoMin2 As Double
            Dim AttaccoFinaleEffettivoMax2 As Double
            Dim BonusTipo1Mob As Double
            Dim BonusTipo3Mob As Double
            BonusTipo3Mob = (1 + (1 / 100) * TextBox16.Text) * (1 + BonusTavole)
            BonusTipo1Mob = (1 + 0.01 * TextBox8.Text) * (1 + 0.01 * TextBox7.Text)
            AttaccoFinaleEffettivoMin2 = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2) * BonusTipo3Mob))
            AttaccoFinaleEffettivoMax2 = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2) * BonusTipo3Mob))
            Label33.Text = "Attacco Finale Effettivo con bonus (vs Mob): " & AttaccoFinaleEffettivoMin2 & " - " & AttaccoFinaleEffettivoMax2 & " (" & AttaccoFinaleEffettivoMob & ")"
            If AttaccoFinaleEffettivoMax2 = AttaccoFinaleEffettivoMob Then
                Label45.Text = "Pari"
                Label45.ForeColor = Color.Magenta
            End If
            If AttaccoFinaleEffettivoMax2 > AttaccoFinaleEffettivoMob Then
                Label45.Text = "Set #2"
                Label45.ForeColor = Color.Blue
            End If
            If AttaccoFinaleEffettivoMax2 < AttaccoFinaleEffettivoMob Then
                Label45.Text = "Set #1"
                Label45.ForeColor = Color.Green
            End If
            'Media di danni al secondo a piedi
            Dim BonusVelTavole As Double
            Dim BonusVelLibri As Double
            Dim BonusEstasi As Double
            If ComboBox1.SelectedItem = "Guerriero" Then
                BonusEstasi = s3(ComboBox3.SelectedIndex)
            Else
                BonusEstasi = 0
            End If
            ComboBox17.SelectedIndex = ComboBox4.SelectedIndex
            Dim s4() As String
            s4 = Split(ComboBox17.SelectedItem, ".")
            If ComboBox11.Text = "NO" Then
                BonusVelTavole = 0
            ElseIf ComboBox11.Text = "SI" Then
                BonusVelTavole = 6
            End If
            If ComboBox9.Text = "N0" Then
                BonusVelLibri = 0
            ElseIf ComboBox9.Text = "SI" Then
                BonusVelLibri = 5
            End If
            Dim VelocitaAttaccoArma As Double = s4(NumericUpDown1.Value)
            Dim VelocitaAttacco As Double = 100 + VelocitaAttaccoArma + TextBox5.Text + BonusVelLibri + BonusVelTavole + (BonusEstasi * 50)
            If VelocitaAttacco < 171 Then
                Dim VelAtkEffettiva As Double
                If ComboBox4.SelectedIndex < 19 Then
                    VelAtkEffettiva = 0.009 * VelocitaAttacco + 0.1
                End If
                If ComboBox4.SelectedIndex > 18 And ComboBox4.SelectedIndex < 46 Then
                    VelAtkEffettiva = 0.014 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66 And ComboBox18.SelectedItem = "M" Then
                    VelAtkEffettiva = 0.006 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66 And ComboBox18.SelectedItem = "F" Then
                    VelAtkEffettiva = 0.009 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 65 And ComboBox4.SelectedIndex < 86 Then
                    VelAtkEffettiva = 0.021 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 85 Then
                    VelAtkEffettiva = 0.014 * VelocitaAttacco
                End If
                If VelocitaAttacco > 141 And ComboBox4.SelectedIndex > 84 And ComboBox4.SelectedIndex < 105 Then
                    Label34.Text = "Media di danni al secondo a piedi (vs PG): IGNOTA" & " (" & DanniTerraPG2 & ")"
                    Label35.Text = "Media di danni al secondo a piedi (vs Mob): IGNOTA" & " (" & DanniTerraMob2 & ")"
                    Label46.Text = "IGNOTO"
                    Label46.ForeColor = Color.Red
                    Label47.Text = "IGNOTO"
                    Label47.ForeColor = Color.Red
                Else
                    If VelocitaAttacco > 150 And ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66 Then
                        Label34.Text = "Media di danni al secondo a piedi (vs PG): IGNOTA" & " (" & DanniTerraPG2 & ")"
                        Label35.Text = "Media di danni al secondo a piedi (vs Mob): IGNOTA" & " (" & DanniTerraMob2 & ")"
                        Label46.Text = "IGNOTO"
                        Label46.ForeColor = Color.Red
                        Label47.Text = "IGNOTO"
                        Label47.ForeColor = Color.Red
                    Else
                        Label34.Text = "Media di danni al secondo a piedi (vs PG): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) & " (" & DanniTerraPG2 & ")"
                        Label35.Text = "Media di danni al secondo a piedi (vs Mob): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) & " (" & DanniTerraMob2 & ")"
                        If DanniTerraPG2 = "IGNOTA" Then
                            Label46.Text = "IGNOTO"
                            Label46.ForeColor = Color.Red
                            Label47.Text = "IGNOTO"
                            Label47.ForeColor = Color.Red
                        Else
                            If DanniTerraPG = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) Then
                                Label46.Text = "Pari"
                                Label46.ForeColor = Color.Magenta
                            End If
                            If DanniTerraMob = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) Then
                                Label47.Text = "Pari"
                                Label47.ForeColor = Color.Magenta
                            End If
                            If DanniTerraPG < Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) Then
                                Label46.Text = "Set #2"
                                Label46.ForeColor = Color.Blue
                            End If
                            If DanniTerraMob < Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) Then
                                Label47.Text = "Set #2"
                                Label47.ForeColor = Color.Blue
                            End If
                            If DanniTerraPG > Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) Then
                                Label46.Text = "Set #1"
                                Label46.ForeColor = Color.Green
                            End If
                            If DanniTerraMob > Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) Then
                                Label47.Text = "Set #1"
                                Label47.ForeColor = Color.Green
                            End If
                            End If
                    End If
                End If
            Else
                Label34.Text = "Media di danni al secondo a piedi (vs PG): IGNOTA" & " (" & DanniTerraPG2 & ")"
                Label35.Text = "Media di danni al secondo a piedi (vs Mob): IGNOTA" & " (" & DanniTerraMob2 & ")"
                Label46.Text = "IGNOTO"
                Label46.ForeColor = Color.Red
                Label47.Text = "IGNOTO"
                Label47.ForeColor = Color.Red
            End If
            'Media di danni al secondo da cavallo
            If (ComboBox4.SelectedIndex > 45 And ComboBox4.SelectedIndex < 66) Or (ComboBox4.SelectedIndex > 84 And ComboBox4.SelectedIndex < 105) Then
                Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA" & " (" & DanniCavalloPG2 & ")"
                Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA" & " (" & DanniCavalloMob2 & ")"
                Label48.Text = "IGNOTO"
                Label48.ForeColor = Color.Red
                Label49.Text = "IGNOTO"
                Label49.ForeColor = Color.Red
            Else
            If VelocitaAttacco < 171 Then
                Dim VelAtkEffettiva As Double
                If ComboBox4.SelectedIndex < 19 Then
                    VelAtkEffettiva = 0.0175 * VelocitaAttacco + 0.2
                End If
                If ComboBox4.SelectedIndex > 18 And ComboBox4.SelectedIndex < 46 Then
                    VelAtkEffettiva = 0.018 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 65 And ComboBox4.SelectedIndex < 86 Then
                    VelAtkEffettiva = 0.018 * VelocitaAttacco
                End If
                If ComboBox4.SelectedIndex > 85 Then
                    If VelocitaAttacco < 145 Then
                        VelAtkEffettiva = 0.0215 * VelocitaAttacco
                    Else
                        VelAtkEffettiva = 0.0077 * VelocitaAttacco + 0.5
                    End If
                End If
                If ComboBox4.SelectedIndex > 85 And VelocitaAttacco > 144 And VelocitaAttacco < 155 Then
                        Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA" & " (" & DanniCavalloPG2 & ")"
                        Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA" & " (" & DanniCavalloMob2 & ")"
                        Label48.Text = "IGNOTO"
                        Label48.ForeColor = Color.Red
                        Label49.Text = "IGNOTO"
                        Label49.ForeColor = Color.Red
                    Else
                        If (ComboBox1.SelectedItem = "Sura" Or ComboBox1.SelectedItem = "Ninja") And VelocitaAttacco > 164 Then
                            Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA" & " (" & DanniCavalloPG2 & ")"
                            Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA" & " (" & DanniCavalloMob2 & ")"
                            Label48.Text = "IGNOTO"
                            Label48.ForeColor = Color.Red
                            Label49.Text = "IGNOTO"
                            Label49.ForeColor = Color.Red
                        Else
                            Label37.Text = "Mdia di danni al secondo a cavallo (vs PG): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) & " (" & DanniCavalloPG2 & ")"
                            Label36.Text = "Media di danni al secondo a cavallo (vs Mob): " & Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) & " (" & DanniCavalloMob2 & ")"
                            If DanniCavalloPG2 = "IGNOTA" Then
                                Label48.Text = "IGNOTO"
                                Label48.ForeColor = Color.Red
                                Label49.Text = "IGNOTO"
                                Label49.ForeColor = Color.Red
                            Else
                                If DanniCavalloPG = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) Then
                                    Label48.Text = "Pari"
                                    Label48.ForeColor = Color.Magenta
                                End If
                                If DanniCavalloMob = Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) Then
                                    Label49.Text = "Pari"
                                    Label49.ForeColor = Color.Magenta
                                End If
                                If DanniCavalloPG < Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) Then
                                    Label48.Text = "Set #2"
                                    Label48.ForeColor = Color.Blue
                                End If
                                If DanniCavalloMob < Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) Then
                                    Label49.Text = "Set #2"
                                    Label49.ForeColor = Color.Blue
                                End If
                                If DanniCavalloPG > Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin + AttaccoFinaleEffettivoMax) / 2)) Then
                                    Label48.Text = "Set #1"
                                    Label48.ForeColor = Color.Green
                                End If
                                If DanniCavalloMob > Int(VelAtkEffettiva * ((AttaccoFinaleEffettivoMin2 + AttaccoFinaleEffettivoMax2) / 2)) Then
                                    Label49.Text = "Set #1"
                                    Label49.ForeColor = Color.Green
                                End If
                                End If
                        End If
                    End If
                Else
                    Label37.Text = "Media di danni al secondo a cavallo (vs PG): IGNOTA" & " (" & DanniCavalloPG2 & ")"
                    Label36.Text = "Media di danni al secondo a cavallo (vs Mob): IGNOTA" & " (" & DanniCavalloMob2 & ")"
                    Label48.Text = "IGNOTO"
                    Label48.ForeColor = Color.Red
                    Label49.Text = "IGNOTO"
                    Label49.ForeColor = Color.Red
                End If
                End If
        'Danno Trafiggente
        Dim TrafiggenteMobMin As Double
        Dim TrafiggenteMobMax As Double
        TrafiggenteMobMin = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3Mob))
        TrafiggenteMobMax = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1Mob - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3Mob))
        Label38.Text = "Danno Trafiggente (vs Mob): " & TrafiggenteMobMin & " - " & TrafiggenteMobMax & " (" & TrafiMob & ")"
            If TrafiggenteMobMax = TrafiMob Then
                Label50.Text = "Pari"
                Label50.ForeColor = Color.Magenta
            End If
            If TrafiggenteMobMax > TrafiMob Then
                Label50.Text = "Set #2"
                Label50.ForeColor = Color.Blue
            End If
            If TrafiggenteMobMax < TrafiMob Then
                Label50.Text = "Set #1"
                Label50.ForeColor = Color.Green
            End If
            Dim TrafiggentePGMin As Double
        Dim TrafiggentePGMax As Double
        TrafiggentePGMin = Math.Max(0, Int((((AttaccoBaseEffettivoMin + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3))
        TrafiggentePGMax = Math.Max(0, Int((((AttaccoBaseEffettivoMax + Bonus + TextBox13.Text) * BonusTipo1 - TextBox12.Text) * BonusTipo2 + TextBox12.Text) * BonusTipo3))
        Label39.Text = "Danno Trafiggente (vs PG): " & TrafiggentePGMin & " - " & TrafiggentePGMax & " (" & TrafiPG & ")"
            If TrafiggentePGMax = TrafiPG Then
                Label51.Text = "Pari"
                Label51.ForeColor = Color.Magenta
            End If
            If TrafiggentePGMax > TrafiPG Then
                Label51.Text = "Set #2"
                Label51.ForeColor = Color.Blue
            End If
            If TrafiggentePGMax < TrafiPG Then
                Label51.Text = "Set #1"
                Label51.ForeColor = Color.Green
            End If
            'Danno Critico
        Label40.Text = "Danno Critico (vs PG): " & (AttaccoFinaleEffettivoMin * 2) & " - " & (AttaccoFinaleEffettivoMax * 2) & " (" & CriticiPG & ")"
        Label41.Text = "Danno Critico (vs Mob): " & (AttaccoFinaleEffettivoMin2 * 2) & " - " & (AttaccoFinaleEffettivoMax2 * 2) & " (" & CriticiMob & ")"
            If (AttaccoFinaleEffettivoMax * 2) = CriticiPG Then
                Label52.Text = "Pari"
                Label52.ForeColor = Color.Magenta
            End If
            If (AttaccoFinaleEffettivoMax * 2) > CriticiPG Then
                Label52.Text = "Set #2"
                Label52.ForeColor = Color.Blue
            End If
            If (AttaccoFinaleEffettivoMax * 2) < CriticiPG Then
                Label52.Text = "Set #1"
                Label52.ForeColor = Color.Green
            End If
            If (AttaccoFinaleEffettivoMax2 * 2) = CriticiMob Then
                Label53.Text = "Pari"
                Label53.ForeColor = Color.Magenta
            End If
            If (AttaccoFinaleEffettivoMax2 * 2) > CriticiMob Then
                Label53.Text = "Set #2"
                Label53.ForeColor = Color.Blue
            End If
            If (AttaccoFinaleEffettivoMax2 * 2) < CriticiMob Then
                Label53.Text = "Set #1"
                Label53.ForeColor = Color.Green
            End If
            'Settaggi Finali
        Button2.Text = "Avvia Confronto"
        Button2.Enabled = False
        Confronto = False
            Button1.Enabled = True
            DanniCavalloMob2 = "BOH"
            DanniCavalloPG2 = "BOH"
            DanniTerraMob2 = "BOH"
            DanniTerraPG2 = "BOH"
        End If
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        Process.Start("http://board.it.metin2.gameforge.com/board299-metin2-it/board74-guide/board81-laboratorio-guide/414989-tacg-vb-net-edition-tool-di-calcolo-del-danno-alternativo-guida-info-e-download/")
    End Sub
End Class
